export enum ErrorCode {
  ConnectionEstablishmentFailed = 10000,
  ResourceLoadNotCompleteError = 10004,
  UnknownError = 10005,
  LoginRepeatError = 10102,
}

export enum RequestApi {
  InitSDK = 'InitSDK',
  // auth
  Login = 'Login',
  Logout = 'Logout',
  GetLoginStatus = 'GetLoginStatus',
  GetLoginUserID = 'GetLoginUserID',

  // user
  GetSelfUserInfo = 'GetSelfUserInfo',
  SetSelfInfo = 'SetSelfInfo',
  GetUsersInfoWithCache = 'GetUsersInfoWithCache',
  SubscribeUsersStatus = 'SubscribeUsersStatus',
  UnsubscribeUsersStatus = 'UnsubscribeUsersStatus',
  GetSubscribeUsersStatus = 'GetSubscribeUsersStatus',
  SetAppBackgroundStatus = 'SetAppBackgroundStatus',
  NetworkStatusChanged = 'NetworkStatusChanged',
  SetGlobalRecvMessageOpt = 'SetGlobalRecvMessageOpt',

  // friend
  AcceptFriendApplication = 'AcceptFriendApplication',
  AddBlack = 'AddBlack',
  AddFriend = 'AddFriend',
  CheckFriend = 'CheckFriend',
  DeleteFriend = 'DeleteFriend',
  GetBlackList = 'GetBlackList',
  GetFriendApplicationListAsApplicant = 'GetFriendApplicationListAsApplicant',
  GetFriendApplicationListAsRecipient = 'GetFriendApplicationListAsRecipient',
  GetFriendList = 'GetFriendList',
  GetFriendListPage = 'GetFriendListPage',
  GetSpecifiedFriendsInfo = 'GetSpecifiedFriendsInfo',
  RefuseFriendApplication = 'RefuseFriendApplication',
  RemoveBlack = 'RemoveBlack',
  SearchFriends = 'SearchFriends',
  SetFriendRemark = 'SetFriendRemark',

  // group
  CreateGroup = 'CreateGroup',
  JoinGroup = 'JoinGroup',
  InviteUserToGroup = 'InviteUserToGroup',
  GetJoinedGroupList = 'GetJoinedGroupList',
  GetJoinedGroupListPage = 'GetJoinedGroupListPage',
  SearchGroups = 'SearchGroups',
  GetSpecifiedGroupsInfo = 'GetSpecifiedGroupsInfo',
  SetGroupInfo = 'SetGroupInfo',
  GetGroupApplicationListAsRecipient = 'GetGroupApplicationListAsRecipient',
  GetGroupApplicationListAsApplicant = 'GetGroupApplicationListAsApplicant',
  AcceptGroupApplication = 'AcceptGroupApplication',
  RefuseGroupApplication = 'RefuseGroupApplication',
  GetGroupMemberList = 'GetGroupMemberList',
  GetSpecifiedGroupMembersInfo = 'GetSpecifiedGroupMembersInfo',
  SearchGroupMembers = 'SearchGroupMembers',
  SetGroupMemberInfo = 'SetGroupMemberInfo',
  GetGroupMemberOwnerAndAdmin = 'GetGroupMemberOwnerAndAdmin',
  GetGroupMemberListByJoinTimeFilter = 'GetGroupMemberListByJoinTimeFilter',
  KickGroupMember = 'KickGroupMember',
  ChangeGroupMemberMute = 'ChangeGroupMemberMute',
  ChangeGroupMute = 'ChangeGroupMute',
  TransferGroupOwner = 'TransferGroupOwner',
  DismissGroup = 'DismissGroup',
  QuitGroup = 'QuitGroup',

  // conversation
  GetAllConversationList = 'GetAllConversationList',
  GetConversationListSplit = 'GetConversationListSplit',
  GetOneConversation = 'GetOneConversation',
  GetMultipleConversation = 'GetMultipleConversation',
  GetConversationIDBySessionType = 'GetConversationIDBySessionType',
  GetTotalUnreadMsgCount = 'GetTotalUnreadMsgCount',
  MarkConversationMessageAsRead = 'MarkConversationMessageAsRead',
  SetConversationDraft = 'SetConversationDraft',
  PinConversation = 'PinConversation',
  SetConversationRecvMessageOpt = 'SetConversationRecvMessageOpt',
  SetConversationPrivateChat = 'SetConversationPrivateChat',
  SetConversationBurnDuration = 'SetConversationBurnDuration',
  ResetConversationGroupAtType = 'ResetConversationGroupAtType',
  HideConversation = 'HideConversation',
  HideAllConversation = 'HideAllConversation',
  ClearConversationAndDeleteAllMsg = 'ClearConversationAndDeleteAllMsg',
  DeleteConversationAndDeleteAllMsg = 'DeleteConversationAndDeleteAllMsg',

  // message
  CreateTextMessage = 'CreateTextMessage',
  CreateTextAtMessage = 'CreateTextAtMessage',
  CreateImageMessageByFile = 'CreateImageMessageByFile',
  CreateImageMessageByURL = 'CreateImageMessageByURL',
  CreateSoundMessageByFile = 'CreateSoundMessageByFile',
  CreateSoundMessageByURL = 'CreateSoundMessageByURL',
  CreateVideoMessageByFile = 'CreateVideoMessageByFile',
  CreateVideoMessageByURL = 'CreateVideoMessageByURL',
  CreateFileMessageByFile = 'CreateFileMessageByFile',
  CreateFileMessageByURL = 'CreateFileMessageByURL',
  CreateMergerMessage = 'CreateMergerMessage',
  CreateForwardMessage = 'CreateForwardMessage',
  CreateLocationMessage = 'CreateLocationMessage',
  CreateQuoteMessage = 'CreateQuoteMessage',
  CreateCardMessage = 'CreateCardMessage',
  CreateCustomMessage = 'CreateCustomMessage',
  CreateFaceMessage = 'CreateFaceMessage',
  SendMessage = 'SendMessage',
  SendMessageNotOss = 'SendMessageNotOss',
  UploadFile = 'UploadFile',
  TypingStatusUpdate = 'TypingStatusUpdate',
  RevokeMessage = 'RevokeMessage',
  DeleteMessage = 'DeleteMessage',
  DeleteMessageFromLocalStorage = 'DeleteMessageFromLocalStorage',
  DeleteAllMsgFromLocal = 'DeleteAllMsgFromLocal',
  DeleteAllMsgFromLocalAndSvr = 'DeleteAllMsgFromLocalAndSvr',
  SearchLocalMessages = 'SearchLocalMessages',
  GetAdvancedHistoryMessageList = 'GetAdvancedHistoryMessageList',
  GetAdvancedHistoryMessageListReverse = 'GetAdvancedHistoryMessageListReverse',
  FindMessageList = 'FindMessageList',
  InsertGroupMessageToLocalStorage = 'InsertGroupMessageToLocalStorage',
  InsertSingleMessageToLocalStorage = 'InsertSingleMessageToLocalStorage',
  SetMessageLocalEx = 'SetMessageLocalEx',
}
